/*
Copyright (c) [2019年5月1日] [吴超]
[MBT_Studio] is licensed under Mulan PSL v2.
You can use this software according to the terms and conditions of the Mulan PSL v2.
You may obtain a copy of Mulan PSL v2 at:
		 http://license.coscl.org.cn/MulanPSL2
THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
See the Mulan PSL v2 for more details.
*/
#pragma once


#include "ui节点面板.h"
#include "ui节点视口.h"

#include "A_引擎/引擎.h"







C_节点面板* f_节点创建_UI面板构建(S_UI渲染环境& ctx, C_节点基类* data, E_节点区类型 区类型);

void		f_节点重构_面板重构(C_节点面板* plane, C_节点基类* data, E_节点区类型 区类型);
void		f_节点重构_插座重构(C_节点面板* plane, C_节点基类* data, E_节点区类型 区类型);
void		f_节点重构_面板插座重构(C_节点面板* plane, C_节点基类* node, E_节点区类型 区类型 = E_节点区类型::e_节点区_物体);

bool		f_节点重构_重构属性面板数据(C_节点面板* plane, std::vector<S_Props>& props);


void		f_节点参数更新(S_Props& prop);
void		f_节点参数更新_重新编译(S_Props& prop);
void		f_节点参数更新_属性栏更新(S_Props& prop);
void		f_节点参数更新_重新编译_属性栏更新(S_Props& prop);



C_节点面板*	f_节点构建_扩展(S_UI渲染环境& ctx, S_设备环境& ctx_3d, C_节点基类* node, C_节点树* tree, const std::u16string& name);
void		f_节点重置_扩展(C_节点面板* plane, C_节点基类* node);

void		f_扩展节点_构建函数初始化(S_UI渲染环境& ctx, fp_节点创建视口回调 fn);

void		f_节点构建_注册扩展节点(E_节点树类型 区域, const S_插件模块& 模块);
void		f_节点构建_注销扩展节点(E_节点树类型 区域, const S_插件模块& 模块);
void		f_节点面板构建_重构扩展节点(const S_插件模块& 模块);









